package pe.com.rimac.portal.facturacion.constantes;

/**
 * Clase encargada de contener las constantes de la aplicacion.
 * 
 * @author Andres Deza Villacorta - Synopsis S.A
 * 
 */
public class Constantes
{
	/**
	 * Constantes de las vistas de aplicacion.
	 * 
	 * @author Andres Deza Villacorta - Synopsis S.A
	 * 
	 */
	public class Vista
	{
		public static final String VISTA_CONSULTA_DOCUMENTOS = "consulta/facturacion";
		public static final String VISTA_CONSULTA_DOCUMENTOS_RESULTADOS = "consulta/facturacion_resultados";
		public static final String VISTA_ACTUALIZACION_DATOS_PN = "actualizacion/actualizaciondatos-pn";
		public static final String VISTA_ACTUALIZACION_DATOS_PJ = "actualizacion/actualizaciondatos-pj";
		public static final String VISTA_ACTUALIZACION_DATOS_SATISFACTORIA = "actualizacion/actualizaciondatos-satisfactoria";
	}

	/**
	 * Constantes de los par&aacute;metros en el request.
	 * 
	 * @author Andres Deza Villacorta - Synopsis S.A
	 * 
	 */
	public class ParametroRequest
	{
		public static final String PARAMETRO_ACCION = "accion";
		public static final String TIPO_BUSQUEDA = "tipobusqueda";
		public static final String CLIENTE = "cliente";
		public static final String EMPRESA = "empresa";
		public static final String FECHA_INICIO = "fechadesde";
		public static final String FECHA_FIN = "fechahasta";
		public static final String TIPO_DOCUMENTO_SUNAT = "tipodocumentosunat";
		public static final String SERIE_DOCUMENTO_SUNAT = "seriedocumentosunat";
		public static final String NUMERO_DOCUMENTO_SUNAT = "numerodocumentosunat";
		public static final String PRODUCTO_FECHA_INICIO = "productofechadesde";
		public static final String PRODUCTO_FECHA_FIN = "productofechahasta";
		public static final String PRODUCTO = "producto";
		public static final String POLIZA = "poliza";
		public static final String DOCUMENTO_COBRO = "documentocobro";
		public static final String NUMERO_FACTURA = "numeroFactura";
		public static final String FACTURAS = "facturas";
		public static final String HABILITAR_EXPORT = "habilitarExport";
		public static final String PAGINA = "page";
		public static final String CANTIDAD_PAGINAS = "pagesCount";
		public static final String PAGINA_ACTUAL = "currentPage";
		public static final String INDICE_INICIAL = "initIndex";
		public static final String TOTAL = "total";
		public static final String SIN_RESULTADOS = "sinResultados";
		public static final String ES_ERROR = "esError";
		public static final String CODIGO_ERROR = "codigoError";
		public static final String REGISTRO_EXITOSO_PERSONA_NATURAL = "exitoPersonaNatural";
		public static final String REGISTRO_EXITOSO_PERSONA_JURIDICA = "exitoPersonaJuridica";
		public static final String NOMBRE_ARCHIVO = "nombreArchivo";
		public static final String CONTENT_TYPE = "contentType";
		public static final String FORMATO_EXPORT = "formato";
	}

	/**
	 * Constantes de los par&aacute;metros de acci&oacute;n.
	 * 
	 * @author Andres Deza Villacorta - Synopsis S.A
	 * 
	 */
	public class Accion
	{
		public static final String ACCION_BUSCAR = "buscar";
		public static final String ACCION_MARCAR = "marcar";
		public static final String ACCION_MARCAR_TODO = "marcarTodo";
		public static final String ACCION_DESMARCAR_TODO = "desmarcarTodo";
		public static final String ACCION_EXPORTAR = "exportar";
		public static final String ACCION_MOSTRAR_TABLA_RESULTADOS = "mostrarTablaResultados";
		public static final String ACCION_ACTUALIZAR_PERSONA_NATURAL = "actualizarPersonaNatural";
		public static final String ACCION_ACTUALIZAR_PERSONA_JURIDICA = "actualizarPersonaJuridica";
		public static final String ACCION_GO_TO_FIRST_PAGE = "goToFirstPage";
		public static final String ACCION_GO_TO_LAST_PAGE = "goToLastPage";
		public static final String ACCION_GO_TO_PREVIOUS_PAGE = "goToPreviousPage";
		public static final String ACCION_GO_TO_NEXT_PAGE = "goToNextPage";
		public static final String ACCION_GET_PAGE = "getPage";
	}

	/**
	 * Constantes de preferencias del portlet.
	 * 
	 * @author Andres Deza Villacorta - Synopsis S.A
	 * 
	 */
	public class Preferencia
	{
		public static final String PAGE_SIZE = "pageSize";
	}

	/**
	 * Constantes de par&aacute;metros de configuraci&oacute;n.
	 * 
	 * @author Andres Deza Villacorta - Synopsis S.A
	 * 
	 */
	public class Configuracion
	{
		public static final String CREDENTIAL_SLOT_NAME = "credential.slotname";
	}

	/**
	 * Constantes de c&oacute;digos de error.
	 * 
	 * @author Andres Deza Villacorta - Synopsis S.A
	 * 
	 */
	public class Error
	{
		public static final String CODIGO_ERROR_CONSULTA_DOCUMENTOS = "FED001";
		public static final String CODIGO_ERROR_CONSULTA_PAPERLESS = "FED002";
		public static final String CODIGO_ERROR_REQUERIDO = "CAMPO_REQUERIDO";
		public static final String CODIGO_ERROR_FORMATO_EMAIL = "FORMATO_EMAIL";
		public static final String CODIGO_ERROR_FORMATO_DNI = "FORMATO_DNI";
		public static final String CODIGO_ERROR_FORMATO_TELEFONO = "FORMATO_TELEFONO";
	}

	/**
	 * Constantes de expresiones regulares para validaciones.
	 * 
	 * @author Andres Deza Villacorta - Synopsis S.A
	 *
	 */
	public class RegularExpression
	{
		public static final String REGULAR_EXPRESSION_EMAIL = "^[\\w-\\.]+\\@[\\w\\.-]+\\.[a-z]{2,4}$";
		public static final String REGULAR_EXPRESSION_DNI = "^[\\w]+$";
		public static final String REGULAR_EXPRESSION_TELEFONO = "^[\\w]+$";
	}

	/**
	 * Constantes para Content Types
	 * 
	 * @author Andres Deza Villacorta - Synopsis S.A
	 * 
	 */
	public class ContentType
	{
		public static final String ZIP = "application/zip";
		public static final String PDF = "application/pdf";
		public static final String XML = "application/xml";
	}

	/**
	 * Constantes para reportes.
	 * 
	 * @author Andres Deza Villacorta - Synopsis S.A
	 * 
	 */
	public class Reporte
	{
		public static final String EXTENSION_PDF = "pdf";
		public static final String EXTENSION_XML = "xml";
		public static final String NOMBRE_REPORTE_FINAL = "Facturas.pdf";
	}
}